228 research outputs found

    Using Feature Models for Distributed Deployment in Extended Smart Home Architecture

    Get PDF
    Nowadays, smart home is extended beyond the house itself to encompass connected platforms on the Cloud as well as mobile personal devices. This Smart Home Extended Architecture (SHEA) helps customers to remain in touch with their home everywhere and any time. The endless increase of connected devices in the home and outside within the SHEA multiplies the deployment possibilities for any application. Therefore, SHEA should be taken from now as the actual target platform for smart home application deployment. Every home is different and applications offer different services according to customer preferences. To manage this variability, we extend the feature modeling from software product line domain with deployment constraints and we present an example of a model that could address this deployment challenge

    Automatically Extracting Instances of Code Change Patterns with AST Analysis

    Get PDF
    A code change pattern represents a kind of recurrent modification in software. For instance, a known code change pattern consists of the change of the conditional expression of an if statement. Previous work has identified different change patterns. Complementary to the identification and definition of change patterns, the automatic extraction of pattern instances is essential to measure their empirical importance. For example, it enables one to count and compare the number of conditional expression changes in the history of different projects. In this paper we present a novel approach for search patterns instances from software history. Our technique is based on the analysis of Abstract Syntax Trees (AST) files within a given commit. We validate our approach by counting instances of 18 change patterns in 6 open-source Java projects.Comment: ICSM - 29th IEEE International Conference on Software Maintenance (2013

    Vers un Outil de Configuration et de Déploiement pour les Nuages

    Get PDF
    National audienceCloud Computing is a major trend in distributed computing environments enabling software virtualization on configurable runtime platforms. Development and deployment of Cloud software systems result in new challenges to express and manage their intrinsic variability. Many configuration and customization choices arise due to the heterogeneous and scalable aspect of the Cloud Computing paradigm. Features Model originating from Software Product Line (SPL) approach is one way to handle this variability, manage, create and deploy configuration in the Cloud. In this paper, we introduce SALOON, a framework to configure and describe variability for applications to be deployed in the Cloud. Based on ontologies and extended features models, SALOON takes application's technical and non-functional requirements into consideration to provide the most appropriate cloud solutions.L'informatique dans les nuages est une tendance actuelle majeure pour répartir les traitements et les données de façon virtuelle sur des environnements d'exécution paramétrables. Le développement et le déploiement de logiciels pour les nuages proposent un nouveau chal- lenge scientifique en termes d'expression et de prise en compte de la variabilité. En effet, l'informatique dans les nuages repose sur des principes d'hétérogénéité et d'élasticité, ce qui permet de nombreux choix de configuration et de dimensionnement. Les Modèles de Caractéristiques (MC) issus de l'approche Ligne de Produits Logiciels (LPL) sont une réponse possible pour gérer cette variabilité, préparer et dimensionner des configurations à déployer dans les nuages. Dans cet article, nous introduisons SALOON, un cadre logiciel d'expression de la variabilité et d'aide à la décision pour configurer et dimensionner des applications à déployer dans les nuages. Basé sur des ontologies et des MCS étendus, il prend en compte les aspects techniques et non-fonctionnels de l'application pour trouver un fournisseur de nuages qui correspond au mieux à la configuration de l'application

    Annotation Framework Validation using Domain Models

    Get PDF
    International audienceFrameworks and libraries that use annotations are becoming popular. However, there is not enough software engineering support for annotation development. In particular, the validation of constraints in the use of annotations requires further support. In this paper we postulate that annotation frameworks are a projection of the domain model into a programming language model. Using this idea, we have developed a tool that allows the annotation programmer to specify, and then validate the constraints of the annotation framework regarding a given annotated application using a domain model. To validate our approach to the validation of constraints using models, we apply it to the Fraclet annotation framework and compare it to the previous implementation

    Défis pour le Génie de la Programmation et du Logiciel GDR CNRS GPL

    Get PDF
    National audienceCe document a été élaboré dans le cadre du groupement de recherche CNRS " Génie de la Programmation et du Logiciel " (GDR GPL) sous la direction de Laurence Duchien et de Yves Ledru, avec la collaboration des groupes de travail du GDR. Après un résumé synthétique des différentes contributions, ce document présente des problématiques qui ont été identifiées comme particulièrement importantes dans les années qui viennent dans les domaines du génie logiciel et de la programmation. Sans faire un recensement exhaustif, le repérage effectué par les groupes de travail du GDR GPL contribue à une cartographie du positionnement français et suggère plusieurs thématiques stratégiques dans ces domaines

    Handling Constraints in Cardinality-Based Feature Models: The Cloud Environment Case Study

    Get PDF
    Feature modeling is a well-known approach to describe variability in Software Product Lines. Cardinality-based Feature Models (FMs) is a type of FMs where features can be instantiated several times in the configuration, contrarily to boolean FMs where a feature is present or not. While boolean FMs configuration is easily handled by current approaches, there is still a lack of support regarding cardinality-based FMs. In particular, expressing constraints over the set of feature instances is not supported in current approaches, where cardinality involved in such constraints can not be specified. To face this limitation, we define in this paper cardinality-based expressions and provide the related formal syntax and semantics as well as the way to automate the underlying configuration. We study the need for such a support using cloud computing environment configurations as a motivating example. To evaluate the soundness of the proposed approach, we analyze a corpus of 10 cloud environments. Our empirical evaluation shows that constraints relying on our cardinality-based expressions are common and that our approach is effective and can provide an useful support to developers for modeling and reasoning about FMs with cardinalities.La modélisation à l'aide de caractéristiques est une approche très utilisée dans les lignes de produits logiciels. Les Modèles de Caractéristiques (MCs) étendus avec des cardinalités sont un des MCs dans lesquels une caractéristique peut être instanciée plusieurs fois lors de la configuration, contrairement au MCs booléens dans lesquels une caractéristique est présente ou non. Alors que la configuration de MCs booléens est aujourd'hui maitrisée par différentes approches, il reste cependant un manque en terme de support pour les MCs étendus avec des cardinalités. Notamment, pouvoir exprimé des contraintes sur le nombre d'instances requises n'est pas permis dans les approches existantes, puisque les contraintes ne peuvent être exprimées que sur des caractéristiques booléennes. Pour contrer cette limite, nous fournissons dans cet article une nouvelle notation pour exprimer ces contraintes, une définition formelle de leur syntaxe et de leur sémantique ainsi qu'un moyen d'automatiser la vérification des configurations associées. Pour illustrer notre approche, nous étudions le besoin pour un tel support dans le cadre de la configuration d'environnements d'informatique dans les nuages. Nous évaluons notre approche sur un ensemble de 10 environnements. Notre étude empirique montre que les besoins pour exprimer ce type de contraintes sont communs dans ces environnements et que notre approche est efficace pour les gérer

    Safety component-based approach and its application to ERTMS/ETCS on-board train control system

    Get PDF
    International audienceSafety-critical software is becoming more and more complex and at the same time it operates in frequently changing environments on which it reacts by reconfiguring its architecture. Thus, an appropriate modelling approach is needed to reduce the complexity of designing and to enable the verification of dynamic reconfiguration behaviour before the deployment at runtime. The paradigm of software component-based engineering provides an essential support for this. However, composing software from many reconfigurable components can lead to a huge number of possible compositional configurations difficult to handle at design time. Moreover, analysing all possible sequences of reconfiguration, including failure situations, is far beyond feasibility without an appropriate abstraction and granularity levels. In this paper, we propose a hierarchical component-based design approach to reduce the complexity of designing and to analyse the dynamic reconfiguration behaviour. We illustrate our approach with a case study derived from ERTMS/ETCS level 2

    Challenges for Automatic Multi-Cloud Configuration

    Get PDF
    National audienceMulti-cloud computing enables customers to exploit benefits of different cloud provi-ders to optimize reliability, performance and costs. Meanwhile, using multiple cloud providers reduces the risk of vendor lock-in as customers reduce their reliance on provider specific fea-tures. However, the large number of available cloud provider offerings and the differences among them makes it very complex to choose the best combination of cloud providers to deploy an application. Feature models from Software Product Line Engineering have been used to describe variability in cloud provider offerings and automatically generate valid cloud config-urations. In this paper we explore the challenges that must be faced to extend the use of feature models to automatically configure multi-cloud environments.La multitude des offres de nuages permet aux clients d'exploiter les avantages de chaque fournisseur pour optimiser la fiabilité, la performance et les coûts des logiciels dé-ployés. En même temps, l'usage de fournisseurs multiples de nuages réduit le risque d'être dé-pendant des caractéristiques spécifiques d'un fournisseur. Néanmoins, le grand nombre d'offres de fournisseurs de nuages, et leurs différences, rendent très difficile le choix d'une combinaison optimale de fournisseurs pour deployer une application. Les modèles de caractéristiques issus de l'ingénierie des lignes de produits logiciels ont déjà été utilisés pour décrire la variabilité parmi les offres des fournisseurs de nuage et pour générer automatiquement des configurations valides. Dans cet article, nous explorons les défis qui doivent être abordés pour étendre cette approche en vue de configurer automatiquement des environements de type multi-nuages

    Accurate Extraction of Bug Fix Pattern Occurrences using Abstract Syntax Tree Analysis

    Get PDF
    This manuscript presents an approach for studying the abundance of bug fix patterns. Bug fix patterns capture the knowledge on how to fix bugs, they are essential building blocks for research areas such as bug fix recommendation and automatic repair. In this paper, we focus on the problem of the accurate measurement of bug fix pattern abundance: how to reliably tell that one pattern is more common than another one? We propose an approach to formalizing bug fix patterns and an accurate instance pattern identification process that uses this formalization. Our technique is based on a tree differencing algorithm working with abstract syntax trees (AST). A comparative evaluation shows that our approach improves the accuracy of pattern instance identification by an order of magnitude

    A Framework for Agile Development of Component-Based Applications

    Get PDF
    Agile development processes and component-based software architectures are two software engineering approaches that contribute to enable the rapid building and evolution of applications. Nevertheless, few approaches have proposed a framework to combine agile and component-based development, allowing an application to be tested throughout the entire development cycle. To address this problematic, we have built CALICO, a model-based framework that allows applications to be safely developed in an iterative and incremental manner. The CALICO approach relies on the synchronization of a model view, which specifies the application properties, and a runtime view, which contains the application in its execution context. Tests on the application specifications that require values only known at runtime, are automatically integrated by CALICO into the running application, and the captured needed values are reified at execution time to resume the tests and inform the architect of potential problems. Any modification at the model level that does not introduce new errors is automatically propagated to the running system, allowing the safe evolution of the application. In this paper, we illustrate the CALICO development process with a concrete example and provide information on the current implementation of our framework
    corecore